import { ref, watch, reactive } from "vue"
// import test from "../component/test.vue";
import request from '@/utils/request'

function userTreeListApi(dataRequest) {
    return request({
        url: '/system/user/userTree',
        method: 'POST',
        data: dataRequest
    })
}
export const tableItem = reactive({
    select: false,//多选框
    index: !true,//顺序
    loading: false,
    expandAll: false,//树形默认展开
    tree: true,//树形
    column: [
        {
            align: 'left',
            label: '名称',
            prop: 'nickName',
            treeNode: true,
            elIcon: '',//需要显示的标签字段
            // component:'test',
        },
        {
            align: 'center',
            label: '消费总金额',
            prop: 'payPriceSum'
        },
        {
            label: '学员总人次',
            align: 'center',
            width: 490,
            prop: 'studentNum',
        },

    ],
    pageInfo: {
        pagesClose: true,
        request: {
            "nickName": "",
            "parentName": "",
            "createDateStart": "",
            "createDateEnd": "",
            "startDate": computed({
                get() {
                    if (tableItem.pageInfo.request.createDateStart) {
                        return tableItem.pageInfo.request.createDateStart + "T00:00:00"
                    } else {
                        return ""
                    }
                },
                set(value) {
                    return "";
                }
            }),
            "endDate": computed({
                get() {
                    if (tableItem.pageInfo.request.createDateEnd) {
                        return tableItem.pageInfo.request.createDateEnd + "T23:59:59"
                    } else {
                        return ""
                    }
                },
                set(value) {
                    return "";
                }
            }),
            // "pageDomain": {
            //     "pageNum": 1,//分页页面数 必须为数字
            //     "pageSize": 15,//分页页面数据大小  必须为数字
            //     "orderByColumn": "",//搜索参数
            //     "isAsc": "",//搜索参数
            //     "reasonable": ""//搜索参数
            // }
        },
        url: '',//分页路由，不传的话需要传入自定义的分页函数paging 传入时定义的分页函数paging会失效
        method: 'GET',//分页请求方法，不传默认为POST
        // 分页函数paging
        paging: function () {
            for (const key in tableItem.pageInfo.request) {
                !tableItem.pageInfo.request[key] ? tableItem.pageInfo.request[key] = null : ''
            }
            if (!tableItem.pageInfo.request) { return }
            tableItem.loading = true
            userTreeListApi(tableItem.pageInfo.request).then(res => {
                tableItem.tableData.data = res.data
                tableItem.tableData.total = res.total
                const recursionId = (val) => {
                    val.map((item) => {
                        item.userId ? item.id = item.userId : ''
                        item.children && item.children.length > 0 ? recursionId(item.children) : ''
                    })

                }
                tableItem.tableData.data.length > 0 ? recursionId(tableItem.tableData.data) : ''
                // tableItem.tableData.data
                console.log(tableItem.tableData.data)
                tableItem.loading = false
            }).catch(() => { tableItem.loading = false });
        }
    },
    // 分页数据 自定义分页函数paging时需要把值赋给tableData
    tableData: {
        total: '',//分页总计
        // 分页数据
        data: []
    },
    // 操作栏按钮
    btnArray: [
        {
            type: 'primary',//类别 摈弃了text
            label: '添加',
            plain: true,//镂空按钮  优先文字按钮
            text: true,//文字按钮
            // 按钮方法
            handle: function (row) {
                console.log('row', row)
            }
        },
        {
            label: '修改',
            type: 'primary',
            text: true
        }
    ],
    moreBtnArrayText: '自定义更多',//自定义更多标题 默认为更多
    moreBtnArray: [{
        show: true,//
        type: 'primary',
        text: '搜索',
        handle: () => {
            console.log('moreBtnArray')
        }
    },],
    // 选择框触发
    selectChange: function (row) {
        console.log(row)
    },
}
)


